class DwarvesController < ApplicationController def index list render :action => 'list' end def list @dwarf_pages, @dwarves = paginate :dwarf, :per_page => 10 end def show @dwarf = Dwarf.find(params[:id]) end def new @mountainOptionsList = mountainOptionsList @dwarf = Dwarf.new end def create @dwarf = Dwarf.new(params[:dwarf]) if params[:mountain_id] != "0" mountain = Mountain.find(params[:mountain_id]) @dwarf.mountain = mountain else @dwarf.mountain = nil end if @dwarf.save flash[:notice] = 'Dwarf was successfully created.' redirect_to :action => 'list' else @mountainOptionsList = mountainOptionsList render :action => 'new' end end def edit @mountainOptionsList = mountainOptionsList @dwarf = Dwarf.find(params[:id]) end def update @dwarf = Dwarf.find(params[:id]) if params[:mountain_id] != "0" mountain = Mountain.find(params[:mountain_id]) @dwarf.mountain = mountain else @dwarf.mountain = nil end if @dwarf.update_attributes(params[:dwarf]) flash[:notice] = 'Dwarf was successfully updated.' redirect_to :action => 'show', :id => @dwarf else @mountainOptionsList = mountainOptionsList render :action => 'edit' end end def destroy Dwarf.find(params[:id]).destroy redirect_to :action => 'list' end def visits @dwarf = Dwarf.find(params[:id]) @visited_mountains = @dwarf.visited_mountains render(:layout => false) end end